package com.qf.team2.netdisc.service;

import com.qf.team2.netdisc.common.pojo.entity.Link;
import com.qf.team2.netdisc.common.pojo.qo.LinksDetails;
import com.qf.team2.netdisc.common.pojo.qo.ShareLinkQO;
import org.springframework.stereotype.Service;

import java.util.List;

/**
 * 文件分享服务接口
 *
 * @author Simon_Wong
 * @date 2021/05/26 11:38
 */
public interface ShareService {
    /**
     * 在数据库中加入Link的数据
     *
     * @param shareLinkQO 前端传递的数据
     * @return {@link Link}
     */
    Link createLink(ShareLinkQO shareLinkQO);

    /**
     * 单元测试
     */
    void test();

    /**
     * 根据链接id更新分享状态
     *
     * @param linkId 链接id
     * @return 1表示修改成功
     */
    Integer updateIsPrivateStatus(Integer linkId);

    /**
     * 获取所有链接
     *
     * @return {@link List<Link>}
     */
    List<Link> selectAllLink();

    /**
     * 根据用户获取分享详情列表
     * @param userId  用户ID
     * @return 返回分享详情列表
     */
    List<LinksDetails> selectLinksDetails(int userId);
}
